{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "df = pd.read_csv(\"OPCleaver.csv\")\n",
    "df = df.drop('FileName', 1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>mean</th>\n",
       "      <th>std</th>\n",
       "      <th>min</th>\n",
       "      <th>25%</th>\n",
       "      <th>50%</th>\n",
       "      <th>75%</th>\n",
       "      <th>max</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>SectionAlignment</th>\n",
       "      <td>112.0</td>\n",
       "      <td>7.131429e+03</td>\n",
       "      <td>1.802302e+03</td>\n",
       "      <td>4096.0</td>\n",
       "      <td>4096.0</td>\n",
       "      <td>8192.0</td>\n",
       "      <td>8192.0</td>\n",
       "      <td>8.192000e+03</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FileAlignment</th>\n",
       "      <td>112.0</td>\n",
       "      <td>5.760000e+02</td>\n",
       "      <td>4.767699e+02</td>\n",
       "      <td>512.0</td>\n",
       "      <td>512.0</td>\n",
       "      <td>512.0</td>\n",
       "      <td>512.0</td>\n",
       "      <td>4.096000e+03</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SizeOfHeaders</th>\n",
       "      <td>112.0</td>\n",
       "      <td>7.268571e+02</td>\n",
       "      <td>6.016538e+02</td>\n",
       "      <td>512.0</td>\n",
       "      <td>512.0</td>\n",
       "      <td>512.0</td>\n",
       "      <td>1024.0</td>\n",
       "      <td>4.096000e+03</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ImageBase</th>\n",
       "      <td>112.0</td>\n",
       "      <td>7.141552e+07</td>\n",
       "      <td>5.096470e+08</td>\n",
       "      <td>4194304.0</td>\n",
       "      <td>4194304.0</td>\n",
       "      <td>4194304.0</td>\n",
       "      <td>4194304.0</td>\n",
       "      <td>5.368709e+09</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SizeOfImage</th>\n",
       "      <td>112.0</td>\n",
       "      <td>2.019913e+06</td>\n",
       "      <td>4.737946e+06</td>\n",
       "      <td>32768.0</td>\n",
       "      <td>98304.0</td>\n",
       "      <td>196608.0</td>\n",
       "      <td>1318912.0</td>\n",
       "      <td>1.782579e+07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>DllCharacteristics</th>\n",
       "      <td>112.0</td>\n",
       "      <td>3.294686e+04</td>\n",
       "      <td>5.509797e+03</td>\n",
       "      <td>0.0</td>\n",
       "      <td>33088.0</td>\n",
       "      <td>34112.0</td>\n",
       "      <td>34112.0</td>\n",
       "      <td>3.411200e+04</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Characteristics</th>\n",
       "      <td>112.0</td>\n",
       "      <td>8.371786e+02</td>\n",
       "      <td>2.121284e+03</td>\n",
       "      <td>2.0</td>\n",
       "      <td>258.0</td>\n",
       "      <td>258.0</td>\n",
       "      <td>258.0</td>\n",
       "      <td>8.450000e+03</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>HighEntropy</th>\n",
       "      <td>112.0</td>\n",
       "      <td>3.571429e-01</td>\n",
       "      <td>4.813110e-01</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.000000e+00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>LowEntropy</th>\n",
       "      <td>112.0</td>\n",
       "      <td>7.946429e-01</td>\n",
       "      <td>4.057779e-01</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.000000e+00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>TotalSuspiciousSections</th>\n",
       "      <td>112.0</td>\n",
       "      <td>1.062500e+00</td>\n",
       "      <td>6.881395e-01</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>6.000000e+00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>TotalNonSuspiciousSections</th>\n",
       "      <td>112.0</td>\n",
       "      <td>2.392857e+00</td>\n",
       "      <td>8.527343e-01</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>4.000000e+00</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                            count          mean           std        min  \\\n",
       "SectionAlignment            112.0  7.131429e+03  1.802302e+03     4096.0   \n",
       "FileAlignment               112.0  5.760000e+02  4.767699e+02      512.0   \n",
       "SizeOfHeaders               112.0  7.268571e+02  6.016538e+02      512.0   \n",
       "ImageBase                   112.0  7.141552e+07  5.096470e+08  4194304.0   \n",
       "SizeOfImage                 112.0  2.019913e+06  4.737946e+06    32768.0   \n",
       "DllCharacteristics          112.0  3.294686e+04  5.509797e+03        0.0   \n",
       "Characteristics             112.0  8.371786e+02  2.121284e+03        2.0   \n",
       "HighEntropy                 112.0  3.571429e-01  4.813110e-01        0.0   \n",
       "LowEntropy                  112.0  7.946429e-01  4.057779e-01        0.0   \n",
       "TotalSuspiciousSections     112.0  1.062500e+00  6.881395e-01        0.0   \n",
       "TotalNonSuspiciousSections  112.0  2.392857e+00  8.527343e-01        0.0   \n",
       "\n",
       "                                  25%        50%        75%           max  \n",
       "SectionAlignment               4096.0     8192.0     8192.0  8.192000e+03  \n",
       "FileAlignment                   512.0      512.0      512.0  4.096000e+03  \n",
       "SizeOfHeaders                   512.0      512.0     1024.0  4.096000e+03  \n",
       "ImageBase                   4194304.0  4194304.0  4194304.0  5.368709e+09  \n",
       "SizeOfImage                   98304.0   196608.0  1318912.0  1.782579e+07  \n",
       "DllCharacteristics            33088.0    34112.0    34112.0  3.411200e+04  \n",
       "Characteristics                 258.0      258.0      258.0  8.450000e+03  \n",
       "HighEntropy                       0.0        0.0        1.0  1.000000e+00  \n",
       "LowEntropy                        1.0        1.0        1.0  1.000000e+00  \n",
       "TotalSuspiciousSections           1.0        1.0        1.0  6.000000e+00  \n",
       "TotalNonSuspiciousSections        2.0        2.0        2.0  4.000000e+00  "
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.describe().transpose()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Data Quality Report\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Data Type</th>\n",
       "      <th>Count</th>\n",
       "      <th>Unique Values</th>\n",
       "      <th>Minimum Values</th>\n",
       "      <th>Maximum Values</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>SectionAlignment</th>\n",
       "      <td>int64</td>\n",
       "      <td>112</td>\n",
       "      <td>2</td>\n",
       "      <td>4096</td>\n",
       "      <td>8192</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FileAlignment</th>\n",
       "      <td>int64</td>\n",
       "      <td>112</td>\n",
       "      <td>2</td>\n",
       "      <td>512</td>\n",
       "      <td>4096</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SizeOfHeaders</th>\n",
       "      <td>int64</td>\n",
       "      <td>112</td>\n",
       "      <td>3</td>\n",
       "      <td>512</td>\n",
       "      <td>4096</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>TimeDateStamp</th>\n",
       "      <td>object</td>\n",
       "      <td>112</td>\n",
       "      <td>85</td>\n",
       "      <td>0x41D2F254 [Wed Dec 29 18:07:16 2004 UTC]</td>\n",
       "      <td>0x541A09B7 [Wed Sep 17 22:22:47 2014 UTC]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ImageBase</th>\n",
       "      <td>int64</td>\n",
       "      <td>112</td>\n",
       "      <td>4</td>\n",
       "      <td>4194304</td>\n",
       "      <td>5368709120</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SizeOfImage</th>\n",
       "      <td>int64</td>\n",
       "      <td>112</td>\n",
       "      <td>41</td>\n",
       "      <td>32768</td>\n",
       "      <td>17825792</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>DllCharacteristics</th>\n",
       "      <td>int64</td>\n",
       "      <td>112</td>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>34112</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Characteristics</th>\n",
       "      <td>int64</td>\n",
       "      <td>112</td>\n",
       "      <td>6</td>\n",
       "      <td>2</td>\n",
       "      <td>8450</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>HighEntropy</th>\n",
       "      <td>int64</td>\n",
       "      <td>112</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>LowEntropy</th>\n",
       "      <td>int64</td>\n",
       "      <td>112</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>TotalSuspiciousSections</th>\n",
       "      <td>int64</td>\n",
       "      <td>112</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>TotalNonSuspiciousSections</th>\n",
       "      <td>int64</td>\n",
       "      <td>112</td>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                           Data Type  Count Unique Values  \\\n",
       "SectionAlignment               int64    112             2   \n",
       "FileAlignment                  int64    112             2   \n",
       "SizeOfHeaders                  int64    112             3   \n",
       "TimeDateStamp                 object    112            85   \n",
       "ImageBase                      int64    112             4   \n",
       "SizeOfImage                    int64    112            41   \n",
       "DllCharacteristics             int64    112             5   \n",
       "Characteristics                int64    112             6   \n",
       "HighEntropy                    int64    112             2   \n",
       "LowEntropy                     int64    112             2   \n",
       "TotalSuspiciousSections        int64    112             6   \n",
       "TotalNonSuspiciousSections     int64    112             5   \n",
       "\n",
       "                                                       Minimum Values  \\\n",
       "SectionAlignment                                                 4096   \n",
       "FileAlignment                                                     512   \n",
       "SizeOfHeaders                                                     512   \n",
       "TimeDateStamp               0x41D2F254 [Wed Dec 29 18:07:16 2004 UTC]   \n",
       "ImageBase                                                     4194304   \n",
       "SizeOfImage                                                     32768   \n",
       "DllCharacteristics                                                  0   \n",
       "Characteristics                                                     2   \n",
       "HighEntropy                                                         0   \n",
       "LowEntropy                                                          0   \n",
       "TotalSuspiciousSections                                             0   \n",
       "TotalNonSuspiciousSections                                          0   \n",
       "\n",
       "                                                       Maximum Values  \n",
       "SectionAlignment                                                 8192  \n",
       "FileAlignment                                                    4096  \n",
       "SizeOfHeaders                                                    4096  \n",
       "TimeDateStamp               0x541A09B7 [Wed Sep 17 22:22:47 2014 UTC]  \n",
       "ImageBase                                                  5368709120  \n",
       "SizeOfImage                                                  17825792  \n",
       "DllCharacteristics                                              34112  \n",
       "Characteristics                                                  8450  \n",
       "HighEntropy                                                         1  \n",
       "LowEntropy                                                          1  \n",
       "TotalSuspiciousSections                                             6  \n",
       "TotalNonSuspiciousSections                                          4  "
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#DataFrame with columns\n",
    "columns = pd.DataFrame(list(df.columns.values[1:]))\n",
    "\n",
    "#DataFrame with data types\n",
    "data_types = pd.DataFrame(df.dtypes, columns=['Data Type'])\n",
    "\n",
    "#DataFrame with Count\n",
    "data_count = pd.DataFrame(df.count(), columns=['Count'])\n",
    "\n",
    "#DataFrame with unique values\n",
    "unique_value_counts = pd.DataFrame(columns=['Unique Values'])\n",
    "for v in list(df.columns.values):\n",
    "    unique_value_counts.loc[v] = [df[v].nunique()]\n",
    "\n",
    "#DataFrame with minimum values\n",
    "minimum_values = pd.DataFrame(columns=['Minimum Values'])\n",
    "for v in list(df.columns.values):\n",
    "    minimum_values.loc[v] = [df[v].min()]\n",
    "\n",
    "#DataFrame with maximum values\n",
    "maximum_values = pd.DataFrame(columns=['Maximum Values'])\n",
    "for v in list(df.columns.values):\n",
    "    maximum_values.loc[v] = [df[v].max()]\n",
    "        \n",
    "data_quality_report = data_types.join(data_count).join(unique_value_counts).join(minimum_values).join(maximum_values)\n",
    "print('Data Quality Report')\n",
    "data_quality_report\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Visualizing Data"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Visualyzing *Characteristics* feature"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "values = df['Characteristics'].value_counts().keys().tolist()\n",
    "counts = df['Characteristics'].value_counts().tolist()\n",
    "ids = [x for x in range(len(values))]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0, 1, 2, 3, 4, 5]\n"
     ]
    }
   ],
   "source": [
    "print(ids)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<BarContainer object of 6 artists>"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.xticks(ids, values, rotation='45')\n",
    "plt.bar(ids,counts)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Visualyzing *DllCharacteristics* feature"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "values = df['DllCharacteristics'].value_counts().keys().tolist()\n",
    "counts = df['DllCharacteristics'].value_counts().tolist()\n",
    "ids = [x for x in range(len(values))]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<BarContainer object of 5 artists>"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.xticks(ids, values, rotation='45')\n",
    "plt.bar(ids,counts)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Visualyzing three features *Characteristics, DllCharacteristics, ImageBase*"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "x = df.index.tolist()\n",
    "y1 = df['Characteristics'].tolist()\n",
    "y2 = (df['DllCharacteristics']/1000).tolist()\n",
    "y3 = (df['ImageBase']/1000000000).tolist()\n",
    "\n",
    "plt.scatter(x,y1,s=2, label=\"Total Suspicious Sections\", color=\"r\")\n",
    "plt.scatter(x,y2,s=2, label=\"Total Suspicious Sections\", color=\"g\")\n",
    "plt.scatter(x,y3,s=2, label=\"Total Suspicious Sections\", color=\"b\")\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
